// ForceAssignStrategy.h: interface for the ForceAssignStrategy class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_FORCEASSIGNSTRATEGY_H__ECF09447_D3D7_4AB7_91BD_F3D70D46D08B__INCLUDED_)
#define AFX_FORCEASSIGNSTRATEGY_H__ECF09447_D3D7_4AB7_91BD_F3D70D46D08B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "ForceAssign.h"

class ForceAssignStrategy  
{
public:
	ForceAssignStrategy();
	virtual ~ForceAssignStrategy();

public:
	INT StrategyNum(){
		return m_nStrategyNum;
	}

	void SetOwner(ForceAssign* pForceAssign){
		m_pForceAssign = pForceAssign;
	}

protected:
	void StrategyNum(INT nNum){
		m_nStrategyNum = nNum;
	}

	ForceAssign* GetOwner(){
		return m_pForceAssign;
	}

public:
	virtual BOOL Execute() = 0;

private:
	INT m_nStrategyNum;
	ForceAssign* m_pForceAssign;
};

#endif // !defined(AFX_FORCEASSIGNSTRATEGY_H__ECF09447_D3D7_4AB7_91BD_F3D70D46D08B__INCLUDED_)
